/*
 * XMLOutputMesoscopicInterface.h
 *
 *  Created on: 17/10/2011
 *      Author: godinho
 */

#ifndef XMLOUTPUTMESOSCOPICINTERFACE_H_
#define XMLOUTPUTMESOSCOPICINTERFACE_H_

#include <string>
#include <vector>
#include <fstream>

#include "SimulatorOutput.h"

class Network;

class XMLOutputMesoscopicInterface : public SimulatorOutput{
public:

	XMLOutputMesoscopicInterface(std::string fileName);

	virtual ~XMLOutputMesoscopicInterface();

	virtual void startStep(int step, Network* network);

	virtual void endStep(int step, Network* network);

	virtual void startSimulation(Network* network);

	virtual void endSimulation(Network* network);

protected:
	void dumpNetwork(Network* network);

private:
	std::ofstream mFileStream;
	std::string mFileName;
};

#endif /* XMLOUTPUTMESOSCOPICINTERFACE_H_ */
